The main obstacle for over the air (OTA) software updates is free space requirements. For each file to be modified during an OTA system update, one can either apply a patch that transforms an old version of the file into its corresponding new version, or by replacing the old version with the new version from a compressed archive. For files whose new version and old version differ little, updating a file by patching generally requires a smaller update file than by archiving.
The downside of patching is that it requires both the old version and the new version to be present on disk at the same time. For very large files, such as the DYLD shared caches, having both old and new versions on the disk at the same time may require more free space than what is available on the disk, making update by patching impossible. One can eliminate the free-space requirement by archiving the new version of the file, unfortunately doing so requires a very large update package, even when the difference between the old version and the new version is very small. Typically, archiving the DYLD shared cache reduces free space requirement by 400 MB than by patching, but increases the update package size by 80 MB.